package com.zxy.ziems.server.statistics.pojo.param;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.util.List;

@Data
public class TechnologyParam {

    /**
     * 能源类型
     */
    @NotBlank(message = "能源类型不可为空", groups = {Energy.class})
    private String energyType;

    /**
     * 科室ID
     */
    @NotBlank(message = "科室不可为空", groups = {Energy.class})
    private String departmentClassifyId;

    /**
     * 产线ID
     */
    @NotEmpty(message = "产线不可为空", groups = {ProductionLine.class})
    private List<String> productionLineClassifyIds;

    /**
     * 设备ID
     */
    @NotEmpty(message = "设备不可为空", groups = {Device.class})
    private List<String> deviceClassifyIds;

    /**
     * 单元ID
     */
    @NotEmpty(message = "单元不可为空")
    private List<String> unitClassifyIds;

    /**
     * 日期类型
     */
    @NotNull(message = "日期类型不可为空", groups = {Energy.class, ProductionLine.class, Device.class})
    private String dateType;

    /**
     * 开始日期
     */
    @NotBlank(message = "开始日期不可为空", groups = {Energy.class, ProductionLine.class, Device.class})
    private String startDate;

    /**
     * 结束日期
     */
    private String endDate;

    /**
     * 查询面板：0-全部；1-能源分析；2-产线分析；3-设备分析；4-单元分析
     */
    @NotNull(message = "查询面板不可为空")
    private Integer queryPanel;

    public interface Energy { }

    public interface ProductionLine { }

    public interface Device { }

    public interface Unit { }
}
